#ifndef DINGDONG_H
#define DINGDONG_H

#include <QNetworkRequest>
#include <QNetworkReply>
#include <QInputDialog>
#include <QtGui/QMainWindow>
#include "ui_dingdong.h"
#include <QPixmap>
#include <QTabWidget>
#include "paint_image.h"
#include <QSignalMapper>
#include "negativeFilter.h"
#include "grayscaleFilter.h"
#include "Filter.h"
#include "negativeFilter.h"
#include "grayscaleFilter.h"
#include "pixelationFilter.h"
#include "gaussianFilter.h"
#include "sepiaFilter.h"
#include "edgeDetectFilter.h"
#include "embossFilter.h"
#include "sharpenFilter.h"



class DingDong : public QMainWindow
{
	Q_OBJECT

public:
	DingDong(QWidget *parent = 0, Qt::WFlags flags = 0);
	~DingDong();
	void addNewImage(QString&);
	PaintImage *test;
	private slots:
		void open();
		void exit();
		void close();
		void saveAs();
		void save();
		void zoomIn();
		void zoomOut();
		void colorPicker();
		void negative();
		void grayscale();
		void eyeDropper();
		void pixelation();
		void sepia();
		void gaussian();
		void edgeDetect();
		void emboss();
		void sharpen();
		void slot_netwManagerFinished(QNetworkReply *reply);
		void on_action_Download_triggered();
		void toggleTool(const QString);
	
private:
	Ui::DingDongClass ui;
	//QLabel *img;
	void scale(double factor);
	QPixmap *pixmapImg;
	QTabWidget *imageTabs;
	QLabel* currentTool;
	QSignalMapper* toolSignalMapper;
	QNetworkAccessManager *netManager;
};

#endif // DINGDONG_H
